Skip to content

feat: stub add flu workflow#1222

Merged
d-callan merged 13 commits intomainfrom
add-flu-workflow
Apr 22, 2026
Merged

feat: stub add flu workflow#1222
d-callan merged 13 commits intomainfrom
add-flu-workflow

Conversation

@d-callan
Copy link
Copy Markdown
Collaborator

@d-callan d-callan commented Apr 3, 2026

Description

Activates the influenza consensus sequence and subtyping workflow, enabling direct launch in Galaxy with a basic "Launch in Galaxy" button. This PR does NOT include workflow stepper UI yet.

Changes

  • Workflow Activation: Enabled flu workflow in YAML with ORGANISM scope and taxonomy ID 11320
  • Scope-based Architecture: Refactored ConfiguredValue types to support ASSEMBLY, ORGANISM, and SEQUENCE scopes
  • Feature Flag: Added flu workflow behind feature flag 'flu' for controlled rollout
  • Type Safety: Introduced proper type guards and discriminant properties for ConfiguredValue union types

Copy link
Copy Markdown
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Activates the Influenza consensus/subtyping workflow and extends the workflow-launch configuration model to support scope-based behavior (ASSEMBLY / ORGANISM / SEQUENCE), enabling a basic “Launch in Galaxy” flow while the stepper UI for non-assembly scopes is still pending.

Changes:

  • Activated the influenza workflow in the workflow catalog (ORGANISM scope, taxonomy 11320) including a collection_spec reference bundle.
  • Refactored Galaxy launch configuration types/logic to use a scope-discriminated ConfiguredValue union and centralized landing URL selection.
  • Added feature-flag plumbing (flu) and updated workflows listing logic to conditionally surface the flu workflow.

Reviewed changes

Copilot reviewed 13 out of 15 changed files in this pull request and generated 4 comments.

Show a summary per file
File Description
tests/components/configureWorkflowInputs/getConfiguredValues.scope.test.ts Adds tests for scope-based getConfiguredValues behavior.
pages/data/workflows/[trsId]/index.tsx Adjusts static path generation for workflow pages.
pages/_app.tsx Registers the flu feature flag.
catalog/source/workflows.yml Activates influenza workflow; sets ORGANISM scope and adds collection_spec.
catalog/schema/generated/workflows.json Updates generated schema description text.
catalog/schema/generated/schema.ts Updates generated TS schema docstring for collection types.
catalog/py_package/catalog_build/generated_schema/schema.py Updates generated Python schema docstring for collection types.
catalog/output/workflows.json Adds influenza workflow entry to generated output catalog.
catalog/output/workflow-assembly-mappings.json Adds influenza workflow to mapping output.
catalog/output/qc-report.workflow-mappings.md Updates QC report totals and includes influenza workflow.
app/views/WorkflowsView/workflowsView.tsx Threads flu feature flag into workflow listing computation.
app/views/WorkflowsView/utils.ts Adds feature-flag-based inclusion of flu workflow in the listing.
app/components/.../UseLaunchGalaxy/utils.ts Refactors getConfiguredValues to be scope-based and adds ORGANISM/SEQUENCE handlers.
app/components/.../UseLaunchGalaxy/useLaunchGalaxy.ts Centralizes landing URL selection and adds type-guarded handling per workflow type.
app/components/.../UseLaunchGalaxy/types.ts Introduces discriminated ConfiguredValue union + type guards.
Comments suppressed due to low confidence (1)

pages/data/workflows/[trsId]/index.tsx:25

  • getStaticPaths now generates pages for all workflows in catalog/output/workflows.json, including ones that the UI may hide behind feature flags (e.g. flu). Since WorkflowView/getWorkflow() doesn’t appear to enforce the flu flag, this makes the flu workflow directly accessible via URL even when the flag is off, which undercuts the “controlled rollout” goal. Consider gating the workflow page itself (e.g. in getStaticProps/client-side redirect) or excluding flagged workflows from static paths when the flag is disabled.
export const getStaticPaths: GetStaticPaths<Params> = async () => {
  const paths = workflowCategories.reduce(
    (acc, { workflows }) => {
      for (const { trsId } of workflows) {
        acc.push({ params: { trsId: formatTrsId(trsId) } });
      }
      return acc;

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

Comment thread catalog/output/workflows.json Outdated
Comment thread tests/components/configureWorkflowInputs/getConfiguredValues.scope.test.ts Outdated
Comment thread tests/components/configureWorkflowInputs/getConfiguredValues.scope.test.ts Outdated
@d-callan d-callan mentioned this pull request Apr 20, 2026
@NoopDog NoopDog requested a review from hunterckx April 21, 2026 00:45
Copy link
Copy Markdown
Collaborator

@hunterckx hunterckx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

A couple things that I think would be good to adjust before merging!

Comment thread app/views/WorkflowsView/utils.ts Outdated
@d-callan d-callan requested a review from hunterckx April 21, 2026 13:29
Copy link
Copy Markdown
Collaborator

@hunterckx hunterckx left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks @d-callan!

@d-callan d-callan merged commit 0e10b7a into main Apr 22, 2026
5 checks passed
@d-callan d-callan deleted the add-flu-workflow branch April 22, 2026 15:34
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

Status: Done

Development

Successfully merging this pull request may close these issues.

4 participants